

local ClientOHOH = _G.ClientOHOH;
local M = ClientOHOH.class.new(script);
local u1 = nil;


local function u4(p2)
	local v4 = nil;
	v4 = 0;
	for v5 = 1, string.len(p2) do
		v4 = v4 + string.byte(p2, 1);
	end;
	return v4;
end;
local function u5(p3)
	local v7 = 0;
	local v8 = type(p3);
	if v8 ~= "table" then
		if v8 ~= "userdata" and v8 ~= "vector" then
			v7 = v7 + u4((tostring(p3)));
		end;
		return v7;
	end;
	for v9, v10 in pairs(p3) do
		v7 = v7 + u5(v9) + u5(v10);
	end;
	return v7;
end;

local l__LocalPlayer__7 = game:GetService("Players").LocalPlayer;

local function u11(name, args)
	local v11 = nil;
	local l__UserId__12 = l__LocalPlayer__7.UserId;
	local v13 = u5(args);
	v11 = "";
	for v14 = 1, string.len(name) do
		v11 = v11 .. string.char(1 + string.byte(name, v14));
	end;
	local v15 = tostring(os.clock());
	local v16 = string.char(32 + (string.find(v15, "[.]") and 0)) .. string.gsub(v15, "[.]", "");
	local v17 = {};
	local v18 = "";
	for v19 in string.gmatch(game.JobId, "[%a%d_]+") do
		table.insert(v17, v19);
		v18 = v18 .. string.char(32 + string.len(v19));
	end;
	return (string.char(32 + #v17) .. v18) .. string.reverse(string.char(32 + string.len(u1)) .. string.char(32 + string.len(l__UserId__12)) .. string.char(32 + string.len(v13)) .. string.char(32 + string.len(v16)) .. string.char(32 + string.len(name)) .. v17[1] .. u1 .. v17[2] .. l__UserId__12 .. v17[3] .. v13 .. v17[4] .. v16 .. v17[5]);

	--return (string.char(32 + #v17) .. v18) .. string.reverse(string.char(32 + string.len(u1)) .. string.char(32 + string.len(l__UserId__12)) .. string.char(32 + string.len(v13)) .. string.char(32 + string.len(v16)) .. string.char(32 + string.len(name)) .. v17[1] .. u1 .. v17[2] .. l__UserId__12 .. v17[3] .. v13 .. v17[4] .. v16 .. v17[5] ..  v20);
end;
function M.Encode(self, name, args)
	--local v21 = nil;
	assert(self, "no player code,please check!");
	assert(name, "no name,please check!");
	assert(args, "no args string please check!");
	return name,args
	--local v22 = nil;
	--local v23 = nil;
	--v22, v21, v23 = xpcall(u11, debug.traceback, name, args);
	--if not v22 then
	--	warn(v21);
	--	return;
	--end;
	--return v21, v23;
end;
local function u12(p9)
	local v24, v25, v26 = pairs(p9);
	while true do
		local v27 = nil;
		local v28 = nil;
		v28, v27 = v24(v25, v26);
		if not v28 then
			break;
		end;
		v26 = v28;
		local v29 = type(v28);
		if v28 == "number" then
			p9[v28] = nil;
			p9[tostring(v28)] = v27;
		elseif v28 == "table" then
			u12(v27);
		end;	
	end;
end;
function M.TableSplit(p10, p11)
	u12(p11);
	local v30 = {};
	for v31, v32 in pairs(p11) do
		local v33 = type(v32);
		if v33 == "userdata" or v33 == "vector" then
			v30[v31] = v32;
			p11[v31] = nil;
		elseif v33 == "table" then
			v30[v31] = p10:TableSplit(v32);
		end;
	end;
	return v30;
end;
--script:Destroy();
--M:Login();
return M;
